6 FOR I=1 TO 2400: NEXT I
10 DEFINT A-Z:KEY OFF:K=0:MN=0:Z=0
15 DEF SEG=&HB800
20 DIM ARA#(38),ARL#(50),ALA#(88),ALL#(88),BRA#(38),BLL#(88),CRL#(50),CLA#(88)
25 DIM AEYE#(4),ATAIL#(13),CEYE#(4),CTAIL#(13)
30 DIM A#(825)
35 GOSUB 1200
40 DIM TFT$(100):GOSUB 500:PLAY"MF O2;T255;L4"
100  CLS:COLOR 9:PUT(90,5),A#
105  GET(108,76)-(133,111),ARA#:GET(149,132)-(200,183),ALL#
110  GET(114,151)-(157,183),ARL#:GET(124,75)-(184,117),ALA#
115  GET(151,38)-(159,44),AEYE#:GET(196,159)-(217,173),ATAIL#
190 I=0:K=0
200 PLAY TFT$(K):K=K+1:IF K=MN THEN 1000 ELSE I=(I MOD 8)+1:ON I GOTO 220,240,260,280,300,320,340,360
205 BEEP:GOTO 200
220 PUT(149,132),BLL#,PSET:GOTO 200
240 PUT(108,76),BRA#,PSET:GOTO 200
260 PUT(149,132),ALL#,PSET:GOTO 200
280 PUT(108,76),ARA#,PSET:GOTO 200
300 PUT(114,151),CRL#,PSET:GOTO 200
320 PUT(124,75),CLA#,PSET:GOTO 200
340 PUT(114,151),ARL#,PSET:GOTO 200
360 PUT(124,75),ALA#,PSET:GOTO 200
500 READ TFT$(MN):IF TFT$(MN)<>"" THEN MN=MN+1:GOTO 500 ELSE RETURN
505 DATA "MLF2","MSFD"
510 DATA "MLE2","MSED"
515 DATA "F7F7F7","MLFMSF9D"
520 DATA "MLE2","MNE2"
525 DATA "MLE2","MSEC"
530 DATA "MLD2","MSDC"
535 DATA "E7E7E7","MLEMSE9C"
540 DATA "MLD2","MND2"
545 DATA "MLF2","MSFD"
550 DATA "MLE2","MSED"
555 DATA "F7F7F7","MLFMSF9D"
560 DATA "MLE2","MNC2","MSA2","P4","P4"
565 DATA "P4","P4","P4","P4"
570 DATA "P4","P4","P4","P4"
575 DATA "P4","P4","P4","P4"
580 DATA "P4"
605 DATA "MLA2","MSAF#"
610 DATA "MLG#2","MSG#F#"
615 DATA "A7A7A7","MLAMSA9F#"
620 DATA "MLG#2","MNG#2"
625 DATA "MLG#2","MSG#E"
630 DATA "MLF#2","MSF#E"
635 DATA "G#7G#7G#7","MLG#MSG#9E"
640 DATA "MLF#2","MNF#2"
645 DATA "MLA2","MSAF#"
650 DATA "MLG#2","MSG#F#"
655 DATA "A7A7A7","MLAMSA9F#"
660 DATA "MLG#2","MNE2","MSC#2","P4","P4"
665 DATA "P4","P4","P4","P4"
670 DATA "P4","P4","P4","P4"
675 DATA "P4","P4","P4","P4"
680 DATA "P4"
900 DATA ""
1000 PUT(151,38),CEYE#,PSET:Z=0
1010 FOR K=1 TO 20:PUT(196,159),CTAIL#,PSET:FOR I=1 TO 200:NEXT:PUT(196,159),ATAIL#,PSET:FOR I=1 TO 200:NEXT:NEXT K:Z=Z+1:ON Z GOTO 1015,1020,1025,100
1015 OS=0:EC=1:OC=1:X=180:Y=20:D$="ENCORE!":GOSUB 60010:GOTO 1010
1020 EC=2:OC=2:X=20:Y=100:D$="ENCORE!":GOSUB 60010:GOTO 1010
1025 EC=3:OC=3:X=220:Y=140:D$="ENCORE!":GOSUB 60010:RUN"buttrfly
1200 GOSUB 60140:SCREEN 1,0:COLOR 8,1:CLS
1201 EC=2:OC=2:X=40:Y=23:D$="Who says you can't teach":GOSUB 60010
1202 X=105:Y=48:D$="an elephant":GOSUB 60010
1203 X=95:Y=73:D$="to tap dance?":GOSUB 60010
1207 OPEN "ELEPH.DAT" AS #1 LEN=128: DIM E$(15)
1208 FOR I=0 TO 15:FIELD #1,I*8 AS DUMMY$,8 AS E$(I):NEXT I
1209 GET #1,1
1210 EC=0:OC=0:BC=3:X=65:Y=123:D$=" It's easy with the ":GOSUB 60010
1211 EC=3:OC=3:BC=4:X=24:Y=150:OS=128:D$="{}~  Personal Computer":GOSUB 60010
1214 FOR I=0 TO 825:A#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0
1215 NEXT I
1220 FOR I=0 TO 38:BRA#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0
1225 NEXT I
1230 FOR I=0 TO 88:BLL#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0
1235 NEXT I
1240 FOR I=0 TO 50:CRL#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0
1245 NEXT I
1250 FOR I=0 TO 88:CLA#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0
1255 NEXT I
1260 FOR I=0 TO 4:CEYE#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0
1265 NEXT I
1270 FOR I=0 TO 13:CTAIL#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0
1275 NEXT I
1300 CLOSE:RETURN
60000 'SAVE"GCS",A  'GRAPHICS CHARACTER SUBROUTINES
60010 'DISPLAY STRING
60020 FOR I=1 TO LEN(D$):A=ASC(MID$(D$,I,1))
60030 IF OS=128 THEN IF A<>32 THEN A=A+128
60040 'DISPLAY CHARACTER
60050 LX=X+W(A):IF LX>WID THEN X=0:Y=Y+SH:GOTO 60050
60060 LY=Y+H(A):IF LY>200 THEN Y=0:X=0:GOTO 60050
60070 IF (X AND 1)=0 THEN SWAP EC,OC
60080 IF BC<4 THEN LINE(X,Y)-(LX-1,LY-1),BC,BF
60090 K=POINT(X,Y):PSET(X,Y),K:FOR K=0 TO 2:IF CHAR$(A,K)<>"" THEN DRAW CHAR$(A,K)
60100 NEXT K:IF (X AND 1)=0 THEN SWAP EC,OC
60110 X=LX:IF X+SW>WID THEN X=0:Y=Y+SH:IF Y+SH>200 THEN Y=0
60120 NEXT I:RETURN
60130 '
60140 'INITIALIZATION
60150 A=0:X=0:Y=0:LX=0:LY=0:EC=3:OC=3:BC=4:D$="":K=0:WID=320
60160 DIM CHAR$(255,2),H(255),W(255)
60170 'GET CHARACTER SET
60180 OPEN "ELEPH.EXE" FOR INPUT AS #1
60190 INPUT #1,DEC,H,W,K:IF DEC=0 THEN 60220
60200 FOR I=0 TO K-1:INPUT #1,D$:IF H(DEC)<>99 THEN CHAR$(DEC,I)=D$
60210 NEXT I:H(DEC)=H:W(DEC)=W:GOTO 60190
60220 CLOSE #1:SH=H:SW=W:H(32)=SH:W(32)=SW:RETURN
